package com.controller;

import lombok.extern.slf4j.Slf4j;

import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

/**
 * @ClassName: SessionListener
 * @Author: ZhangYue26
 * @Description: Session监听器，在Session创建时，销毁时触发
 * @Date: 2020-10-27
 */
@Slf4j
@WebListener
public class SessionListener implements HttpSessionListener{


    private int onlineCount = 0;//记录session的数量
    
    /**
     * session创建后执行
     */
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        onlineCount++;
    }

    /**
      * @Description Session失效时删除用户所存留的信息
      * @author ZhangYue26
      * @date 2020/10/27
      * @param [se]
      * @return void
      **/
    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        if (onlineCount > 0) {
            onlineCount--;
            if (onlineCount == 0) {
                log.debug("已经删除所有的用户缓存");
            }
        }
    }

}